package com.yunpuvip.sachet.biz.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yunpuvip.sachet.biz.entity.Sysparam;
import com.yunpuvip.sachet.biz.model.params.SysparamParam;
import com.yunpuvip.sachet.biz.model.result.SysparamResult;
import com.yunpuvip.sachet.modular.page.LayuiPageInfo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 系统参数 服务类
 * </p>
 *
 * @author griftt
 * @since 2019-03-06
 */
public interface SysparamService extends IService<Sysparam> {

    /**
     * 新增
     *
     * @author griftt
     * @Date 2019-03-06
     */
    void add(SysparamParam param);

    /**
     * 删除
     *
     * @author griftt
     * @Date 2019-03-06
     */
    void delete(SysparamParam param);

    /**
     * 更新
     *
     * @author griftt
     * @Date 2019-03-06
     */
    void update(SysparamParam param);

    /**
     * 查询单条数据，Specification模式
     *
     * @author griftt
     * @Date 2019-03-06
     */
    SysparamResult findBySpec(SysparamParam param);

    /**
     * 查询列表，Specification模式
     *
     * @author griftt
     * @Date 2019-03-06
     */
    List<SysparamResult> findListBySpec(SysparamParam param);

    /**
     * 查询分页数据，Specification模式
     *
     * @author griftt
     * @Date 2019-03-06
     */
     LayuiPageInfo findPageBySpec(SysparamParam param);

    Sysparam loadSetting(String key);


    /**
     * 通过配置文件获取公共配置信息
     *
     * @param key 配置的 param_code
     * @return java.util.List<com.yunpuvip.sachet.biz.entity.Sysparam>
     * @author hyf
     * @date 2019-03-25
     */
    List<Sysparam> getCommonDataByKey(String key);

    /**
     * 获取系统参数的key对应的value
     * @param key
     * @return
     */
    String getSysparamVlaue(String key);

    /**
     * 获取支付宝支付信息
     * @param code
     * @return
     */
    List<Map<String, Object>> getAlipayInfo(String code);

}
